package com.atguigu.qz.dao

import org.apache.spark.sql.SparkSession

/**
 * description ：做题模块使用 spark sql 查询 hive 中的数据
 * author      ：剧情再美终是戏 
 * mail        : 13286520398@163.com
 * date        ：Created in 2020/3/8 14:46
 * modified By ：
 * version:    : 1.0
 */
object DwdQzDao {
  /**
   * 统计各题的错误数，正确数，错题率
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:58
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryUserQuestionDetail(spark: SparkSession, dt: String, dn: String) = {

  }

  /**
   * 统计试卷未及格的人数，及格的人数，试卷的及格率 及格分数60
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:57
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryUserPaperDetail(spark: SparkSession, dt: String, dn: String) = {

  }

  /**
   * 统计各试卷各分段的用户id
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:56
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryPaperSourceSegmentUser(spark: SparkSession, dt: String, dn: String) = ???

  /**
   * 按试卷分组统计每份试卷的倒数前三的用户详情
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:55
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @param n     topN
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryLowNUserDetail(spark: SparkSession, dt: String, dn: String, n: Int) = {

  }

  /**
   * 按试卷分组统计每份试卷的前三用户详情
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:54
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @param n     topN
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryTopNUserDetail(spark: SparkSession, dt: String, dn: String, n: Int) = {

  }

  /**
   * 统计各试卷最高分、最低分
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:53
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryPaperMaxMinDetail(spark: SparkSession, dt: String, dn: String) = {

  }

  /**
   * 基于宽表统计各试卷平均耗时、平均分
   *
   * @Author 剧情再美终是戏
   * @Date 2020/3/8 14:52
   * @param spark sparkSession
   * @param dt    日期分区
   * @param dn    地区分区
   * @return java.lang.Object
   * @Version 1.0
   **/
  def queryPaperAvgtimeAndScore(spark: SparkSession, dt: String, dn: String) = {

  }

}
